package com.sz.biz.logistics.base.service;

import com.sz.biz.logistics.base.entity.RegionItem;
import com.sz.common.base.dto.ResultDto;

import java.util.List;
import java.util.Map;

/**
 * Function: 分区明细service <br>
 * Author: hpeng.wang <br>
 * Date: 2017-02-15 14:58:00
 */

public interface RegionItemService {
    /**
     * 根据id查询
     * @param ids
     * @return
     */
    List<RegionItem> findByIds(List<Integer> ids);
    /**
     * 批量新增
     *
     * @param entry 新增的实体
     * @return 新增是否成功
     */
    void batchSave(List<RegionItem> entry);

    /**
     * 根据外键regionId查询对应的所有分区item
     *
     * @param id regionId 分区id
     * @return 查询出来的分区item列表
     */
    List<RegionItem> findByRegionId(Integer id);

    /**
     * 根据外键regionIds查询对应的所有分区的详情的集合
     *
     * @param regionIds regionIds　分区的id集合
     * @return 查询出来的分区item列表集合
     */
    List<RegionItem> findByRegionIds(List<Integer> regionIds);
    List<RegionItem> findByRegionIds(List<Integer> regionIds,String countryCode);

    ResultDto findByRegionIds(List<Integer> regionIds, String q, int pageIndex, int pageSize);

    List<RegionItem> findRegionItemByRegionIdsAndIsActive(String schemaId, Boolean isActive);


    /**
     * 根据分区id集合（regionIds）查询对应的Map<Integer, List<RegionItem>> 集合
     *
     * @param regionIds 分区id集合
     * @return 查询的分区明细map集合
     */
    Map<Integer, List<RegionItem>> findRegionItemMapByRegionIds(List<Integer> regionIds);

    ResultDto findAirByRegionIds(List<Integer> regionIdList, String countryCode, String cityId, String q, int pageIndex, int pageSize, int type);
    int findAreaNullCountByRegionIds(List<Integer> regionIds, String countryCode);

    ResultDto findCityModelByRegionIds(List<Integer> regionIds, String countryCode, String q, int pageIndex, int pageSize);
}
